package com.example.trabalho_final;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.MultiAutoCompleteTextView;
import android.widget.Toast;

import com.example.bd.MinhaCategoriaDAO;
import com.example.trabalho_final.modelo.EspacoTokenizer;

public class ActivityListaTiposConversoes extends BaseActivity implements IActivity {
	private Button bt_tempo; 
	private Button bt_massa;
	private Button bt_computacao;
	private Button bt_volume;
	private Button bt_area;
	private Button bt_minhas_conversoes;
	private Button bt_terra;
	private Button bt_velocidade;
	private Button bt_temperatura;
	private Button bt_anual;
	
	private Button bt_pesquisar;
	final static String APP_PREFS = "conversor_prefs";
	static String BACKGROUND_COLOR = "background_color";
	private MinhaCategoriaDAO dao;	
	private MultiAutoCompleteTextView et_pesquisar;	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_lista_tipos_conversoes);
		findViews();
		listenEvents();
	
		dao = new MinhaCategoriaDAO(this);
		dao.open();		

		ArrayAdapter<String> adapter =
				new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,dao.getAutoComplete());
		et_pesquisar.setAdapter(adapter);
		
		//System.out.println(dao.getAutoComplete().length);
				
		et_pesquisar.setTokenizer(new EspacoTokenizer());
		
		dao.close();
	}	

	@Override
	public void findViews() {
		bt_area 				= (Button) findViewById(R.tela_principal.bt_area);
		bt_computacao 			= (Button) findViewById(R.tela_principal.bt_computacao);
		bt_massa 				= (Button) findViewById(R.tela_principal.bt_massa);
		bt_minhas_conversoes 	= (Button) findViewById(R.tela_principal.bt_minhas_conversoes);
		bt_pesquisar 			= (Button) findViewById(R.tela_principal.bt_pesquisar);
		bt_temperatura			= (Button) findViewById(R.tela_principal.bt_temperatura);
		bt_tempo 				= (Button) findViewById(R.tela_principal.bt_tempo);		
		bt_terra 				= (Button) findViewById(R.tela_principal.bt_terra);
		bt_velocidade 			= (Button) findViewById(R.tela_principal.bt_velocidade);
		bt_volume 				= (Button) findViewById(R.tela_principal.bt_volume);
		bt_anual 				= (Button) findViewById(R.tela_principal.bt_anual);
		et_pesquisar			= (MultiAutoCompleteTextView) findViewById(R.tela_principal.et_pesquisar);
	}

	@Override
	public void listenEvents() {
		bt_area.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.area));
			}
		});
		
		bt_computacao.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.computacao));
			}
		});
		
		bt_massa.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.massa));
			}
		});

		bt_minhas_conversoes.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				//Intent i = new Intent(ActivityListaTiposConversoes.this, ActivityRealizaMinhaConversao.class);
				Intent i = new Intent(ActivityListaTiposConversoes.this, ActivityRealizaConversao.class);
				i.putExtra("categoria", getString(R.string.minhas_conversoes));
				startActivity(i);
			}
		});

		bt_pesquisar.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_pesquisa(et_pesquisar.getText().toString());
			}
		});

		bt_temperatura.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.temperatura));
			}
		});

		bt_tempo.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.tempo));
			}
		});

		bt_terra.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.terra));
			}
		});
		
		bt_velocidade.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.velocidade));
			}
		});
		
		bt_volume.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				encaminhar_para_realizar_conversao(getString(R.string.volume));
			}
		});
		
		bt_anual.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {				
				//encaminhar_para_realizar_conversao(getString(R.string.anual));
				Intent i = new Intent(ActivityListaTiposConversoes.this, ActivityRealizaConversaoAnual.class);
				startActivity(i);
			}
		});
		
		et_pesquisar.setOnItemClickListener(new OnItemClickListener() {
		    @Override
			public void onItemClick(AdapterView<?> parent, View view, int index, long position) {
		    	encaminhar_para_pesquisa(et_pesquisar.getText().toString());
		    }
		});			
			
	}
	
	private void encaminhar_para_pesquisa(String pesquisa) {
		Intent intent = new Intent(this, ActivityRealizaConversao.class);
		intent.putExtra("pesquisa", pesquisa);
		intent.putExtra("categoria", getString(R.string.minhas_conversoes));
		startActivity(intent);		
	}

	
	public void toast(String msg){
		Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
	}
	
	public void encaminhar_para_realizar_conversao(String categoria){
		Intent intent = new Intent(this, ActivityRealizaConversao.class);
		intent.putExtra("categoria", categoria);
		startActivity(intent);
	}
	
	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		//finish();
	}	

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
//		dao = new MinhaCategoriaDAO(this);
//		dao.open();
//		ArrayAdapter<String> adapter = 
//				new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,dao.getAutoComplete());
//		et_pesquisar.setAdapter(adapter);
//		et_pesquisar.setAdapter(adapter);
//		
//		//txtMulti.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
//		et_pesquisar.setTokenizer(new EspacoTokenizer());
//		dao.close();
	}
	
	
	

}
